1. Field of the Invention
The present invention generally relates to the art of wireless communications. In particular, the present invention relates to the art of searching for the direct sequence spread spectrum pilot signals of base stations to establish communication between a mobile unit and the base station.
2. Description of Related Art
In wireless communications technology, user data (e.g. speech) is encoded in a radio frequency for transmission and reception between a base station and a mobile unit. The radio spectrum allocated by regulatory authorities for a wireless system is xe2x80x9ctrunkedxe2x80x9d to allow simultaneous use of that spectrum block by multiple units.
The most common form of trunked access is the frequency-division multiple access (FDMA) system. In an FDMA system voice is commonly transmitted through analog modulation but can in principle be digitized and transmitted with digital modulation. In FDMA, the spectrum is divided into frequency channels comprised of distinct portions of the spectrum. The limited frequency channels are allocated to users as needed. However, once a frequency channel is assigned to a user, that frequency channel is used exclusively by the user until the user no longer needs the channel. This limits the number of concurrent users of each frequency channel to one, and the total number of users of the entire system, at any instant, to the number of available frequency channels.
Another common trunking system is the time-division multiple access (TDMA) system. TDMA is commonly used in telephone networks, especially in cellular telephone systems, in combination with an FDMA structure. In TDMA, data (speech) is digitized and compressed to eliminate redundancy thus decreasing the average amount of bits required to be transmitted and received for the same amount of information. The time line of each of the frequency channels used by the TDMA system is divided into xe2x80x9cframesxe2x80x9d and each of the users sharing the common channel is assigned a time slot within the frames. Each user then transmits a burst of data during its assigned timeslot and transmits nothing during other times. With the exception of delays required by the bursty data transmission, the TDMA system will appear to each of the users sharing the frequency channel to have provided an entire channel to each user.
The FDMA and TDMA combination technique is used by the GSM (global system for mobile communications) digital cellular system. In GSM, each channel is divided up in time into frames during which eight different users share the channel. A GSM time slot is only 577 xcexcs (micro-seconds), and each users gets to use the channel for 577 xcexcs every 4.615 ms (milli-seconds). 577 xcexcs*8 =4.615 ms.
Yet another method for sharing a common channel between multiple users is the code-division multiple access (CDMA) technique using direct sequence spread spectrum modulation. CDMA is relatively new to the cellular technology and is one of the accepted techniques to be included into the next generation of digital cellular systems in the United States of America (U.S.A.).
As with TDMA, the CDMA systems are typically used in conjunction with a FDMA structure, although this is not required. However, unlike the TDMA system, the CDMA system does not separate the multiple users of a common frequency channel using time slices. Rather, in CDMA, multiple users are separated from each other by superimposing a user-specific high-speed code on the modulation of the data of each user. Because the separating code has the effect of spreading the shared channel of each user""s transmission, the CDMA system is often called a xe2x80x9cspread spectrumxe2x80x9d system. xe2x80x9cDirect sequencexe2x80x9d spreading is accomplished by multiplying a narrowband information carrying signal by a much wider band spreading signal. The error coded and digitally modulated data (speech) for each of the shared users of the CDMA channel may typically be 9.6, 14.4, or 19.2 KHz wide. This is spread using a much wider spreading signal which may be 1.2288 MHZ wide. Using the wider spreading signal, a CDMA frequency channel can accommodate many users on code sub-channels. The spreading signal is usually a sequence of pseudo random bits (PN code) and is often called a xe2x80x9cspreading code,xe2x80x9d or xe2x80x9cchipping codexe2x80x9d because it xe2x80x9cspreadsxe2x80x9d or xe2x80x9cchipsxe2x80x9d the much slower data bits. The PN code is different for differing users, allowing a user to distinguish its code sub-channel from other users"" sub-channels on the same frequency channel. The PN sequence may be expressed as c(t), where the chipping function, c( ), is a function of time t. The PN sequence is generated using a linear feedback shift register (LFSR) which outputs a random-like sequence of digital ones and zeros. These digital ones and zeros are modulated to xe2x88x921 and +1 respectively and filtered to give the chipping function c(t). Thus the chipping function has the property that c(t)2=+1. The PN sequence generated by a N-register LFSR is 2Nxe2x88x921 chips long, though a common system artificially inserts a zero to extend the full sequence length to 215=32768 chips. That system has a chip rate of 1.2288 MHz, so that the sequence repeats every 26.666 ms.
In a typical system, each base station maintains a pilot channel with its own identifying spreading code for the mobile units to refer to. A pilot signal is a spread signal with no underlying information modulation, such that the exact waveform is known by both transmitter and receiver, with the exception of the waveform timing. The mobile units use the pilot channel to synchronize themselves with the base station so they can effectively communicate with the base station. When a mobile unit is powered on, the mobile unit initially searches for a pilot channel in an attempt to establish a lock with a base station. This process is called xe2x80x9cacquisition.xe2x80x9d In order to xe2x80x9cacquire,xe2x80x9d or lock on, to a base station, the mobile must align its locally generated version of the PN sequence with the PN sequence of the base station by determining the timing of the transmitted pilot""s spreading sequence. The present invention provides for an improved acquisition technique.
At power up, a mobile unit must search for a pilot to synchronize its spreading sequence with that of a base station. The acquisition process is generally described using the system as illustrated by FIG. 1. FIG. 1 is a simplified diagram illustrating the major functions of a system which can implement the acquisition process.
In the simplified model of FIG. 1, the radio signal is received by an antenna 12. The signal at line 14 is a radio frequency signal which is about 800 to 900 MHz for cellular communications. The signal at line 14, S14, can be expressed as
xe2x80x83S14=d(t)c(t-Dbase) cos (t)
where
d(t) is the data (speech in digitized form);
c(t-Dbase) is the PN short code at delay Dbase which is the base station delay; and
cos (t) is the radio frequency carrier wave.
Of course, c(t-Dbase) is the spreading code sequence used in the CDMA system, and would not be present in a non-CDMA system. A pilot signal contains no data, so in the case of a pilot signal d(t)=1 and is constant. The pilot signal spreading code is a different PN code from the data spreading code, allowing the two signals to be distinguished. Once the pilot code timing is known, that same timing can be applied to the data spreading code to allow the receiver to demodulate the digital data.
The process of acquisition, then, is the process of determining the value of Dbase. Once the value of Dbase is determined, the mobile can use the same c(t-Dbase) sequence to lock on to the base signal and remove the spreading code to retrieve the data, d(t).
The quadrature demodulator circuit 16 removes the carrier wave portion, cos(t), from the incoming RF signal and provides a complex valued baseband signal to the sampling circuit 20 which converts the analog RF into digital samples at the spread spectrum frequency of 1.2288 MHZ. At line 22, the signal can be expressed as
S22=d(t)c(txe2x88x92Dbase)
The base station delay, Dbase, is not known by the mobile unit at power up. If Dbase is known, then the PN code delay at the mobile unit, Dmobile, can be set to match Dbase, and S22 can be multiplied by c(t-Dmobile) to eliminate the spreading sequence to retrieve the data. Alternatively expressed, if Dmobile=Dbase, then                                           d            ⁡                          (              t              )                                ⁢                      c            ⁡                          (                              t                -                                  D                  base                                            )                                ⁢                      c            ⁡                          (                              t                -                                  D                  mobile                                            )                                      =                  xe2x80x83                ⁢                              d            ⁡                          (              t              )                                ⁢                      c            ⁡                          (                              t                -                                  D                  base                                            )                                ⁢                      c            ⁡                          (                              t                -                                  D                  base                                            )                                                              =                  xe2x80x83                ⁢                                                            d                ⁡                                  (                  t                  )                                                                                    ;                                  xe2x80x83                                ⁢                                                                            because                                        ⁢                                          xe2x80x83                                        ⁢                                                                  c                        (                        t                        )                                            2                                                        =                  1                                                                        
Assuming that N=15 such that the full sequence length is 215, at power up, Dbase is not known, and the mobile must test each of the 215 possibilities to find Dbase. In the Fixed Dwell Serial Search (FDSS) systems, Dbase is found by brute-force, trial and error method which can be outlined as follows (continuing to refer to FIG. 1):
1. The incoming signal is multiplied by a multiplier 24 by a PN code with an initial delay, Dtest 44.
2. The result of the multiplication is summed, or accumulated 28, for N number of chips, N being a predetermined number of chips. The process of multiplying and accumulating for a period of time is referred to as a dwell or a dwell period. The pilot signal could be thought of as being constructed based on a sequence of zero""s (0) and one""s (1). It is common in the industry to refer to each digit of a digital spreading sequence as a xe2x80x9cchip.xe2x80x9d For example, a digital spreading signal of a fixed duration containing 100 digital values can be called a set of 100 chips.
3. The energy of the accumulated value of the products are calculated 34 by taking a magnitude squared of the accumulant.
4. The calculated energy is compared to some pre-set threshold, xcex3, 38.
5. And, a determination is made. If the calculated energy equals or exceeds the threshold value, xcex3, then the given delay being tested, Dtest, 44 is determined to be a potential signal and is verified. If the verification is successful, then Dtest is determined to equal Dbase and the acquisition terminates. If the calculated energy is less than the threshold value, then Dtest 44 is not equal to Dbase, and the next delay value is tested beginning at step 1. In fact, the delay value is tested at every xc2xd chip. Therefore, the number of delays tested is 2*215, or 216.
The multiplication (step 1 above) and the summation (step 2) are typically done using a specially designed hardware, and is performed at the same speed as the incoming chip rate. The energy calculation (step 3) and the comparison with a threshold (step 4) could be performed in software by a digital signal processor (DSP) 42 as indicated by the dash line in FIG. 1.
If the incoming signal at line 22, S22, is multiplied by the correctly delayed PN code, then the sum, or integration, of the energy levels of a set of chips will add up to a signal strength approaching some amplitude value, A. If the incoming signal at line 22, S22, is multiplied 24 by an incorrectly delayed PN code 44, then the signal at line 26, S26, will appear as noise and the sum 28, or integration, of the energy levels of the set of chips will approach zero. The DSP 42, controls the value of D 44, to increment the phase based on the dwell/threshold decisions. This xe2x80x9cde-spreadingxe2x80x9d method is discussed in many text and reference books. For example, see Redl, et. al., AN INTRODUCTION TO GSM, pp. 61-63. In reality, however, the results of the integration do not fall exactly at A or exactly at 0, but are corrupted by noise and fall near A or near 0, and appear as some probability function near A or 0.
The Multiple Dwell Search (MDS) method is based on the facts that the mobile unit needs to find the base station delay, Dbase, and that the average acquisition time, Taa, can be minimized by quickly rejecting all other delays. To that end, first, a smaller sample (from a relatively shorter dwell period) is tested against Dtest to filter out obvious noise. If the sample fails the first test, then Dtest, is rejected. On the other hand, if the sample passes the test, then Dtest is further tested by collecting another, larger set of samples. This process is more efficient than the simple FDSS because most of the delays are rejected using a smaller sized set of chips. The MDS technique achieves a quicker acquisition by decreasing the average dwell time portion of Taa. However, the MDS technique does not address the computational time portion of Taa. In fact, because Taa is a sum of the average dwell time and average computation time, or,
Taa=KTaveragexe2x80x94dwellxe2x80x94time+KTaveragexe2x80x94computationalxe2x80x94time
where
Taveragexe2x80x94dwellxe2x80x94time is average time period the mobile unit dwells at each delay;
Taveragexe2x80x94computationalxe2x80x94time is the average time period the mobile unit takes to calculate the energy from a dwell and compare it to a predetermined threshold; and
K is the sample range, or the number of possible delays that must be searched, and is set to 216, not 215 because the delay is tested at xc2xd the chip increments.
Any decreases in the Taveragexe2x80x94dwellxe2x80x94time portion of the equation increases the prominence in, or the ratio of the Taveragexe2x80x94computationalxe2x80x94time in the overall Taa determination.
In summary, because the dwelling and the computational steps of the acquisition processes are serially performed, the average acquisition time, Taa, is unnecessarily increased by 25% to 33% in the FDSS system. The negative impact of the computational step to the overall Taa is even larger for other more efficient acquisition techniques such as the MDS technique.
Therefore, an object of the present invention is to eliminate the time required to calculate the energy of an incoming pilot signal and compare it with a threshold by implementing these steps to be performed simultaneously with the dwelling step.
The present invention provides a method of synchronizing a cellular unit to a base station pilot signal, each base station""s pilot signal being spread by a pseudo-random noise (PN) code having and a signal strength. A predetermined number of chips of the incoming signal is multiplied by a PN code having a first delay, and the energy accumulated. This is called xe2x80x9cdwellingxe2x80x9d at first delay. Then, the accumulant is processed, which will include a threshold comparison while the mobile unit dwells for a second set of chips at a second delay of the PN code. If desired, the first delay can be returned for further measurements.
An alternative summary of the present invention is a method of selecting a base station delay by using two banks. The first bank uses the hardware and software resources to analyze (dwell and compare) a first delay, and the second bank operates identically except that the second bank uses the resource not being used by the first bank at any one instant in time. That is, the system resources can be assigned and used simultaneously if they are assigned to different banks. For example, the first bank may be dwelling at a first phase while the second bank may be comparing its accumulant.
The present invention also provides for a mobile communications apparatus comprising a dwell accumulator resource, a digital signal processor (DSP) resource, and two banks. The resources and the banks are all interconnected to work together. The banks alternate to efficiently use the resource not being used by the other bank. Typically, a bank is a memory location which stores the data necessary for testing a given code phase and controls resources of the system in order to perform that testing.
Also provided for in the present invention is a machine-readable storage medium containing instructions for a processor to perform the techniques of the present invention.